在學 Java 的過程中,最常讓人卡住的關鍵字之一,就是 OOP(物件導向程式設計)。
「class到底是什麼?」、「物件又是什麼?」、「為什麼要用 constructor?」
別擔心,今天就讓我們用ChatGPT當Java家教,用最白話的方式把這些觀念講清楚!
#OOP是什麼?
OOP,全名Object-Oriented Programming
是一種讓程式更好維護、更像「現實世界」思考方式的程式設計方法
想像一下:
你要設計一個「學生系統」
每個學生都有「名字、學號、分數」
他們可以「讀書()、考試()、顯示成績()」
##class(類別)是什麼?
class 是物件的藍圖
就像「學生」這個概念,不是某一個人,而是一個模型。
String name;
int score;
// constructor 建構子
public Student(String n, int s) {
name = n;
score = s;
}
// 方法
void showInfo() {
System.out.println(name + " 的分數是 " + score);
}
}
這段程式就建立了一個「學生」的藍圖
但它還不是一個真正的學生,還需要用「物件」來生成!
###物件(Object)是什麼?
物件就是用 class 建出來的實例
簡單說,有了「藍圖」,我們就能「造房子」
public static void main(String[] args) {
Student s1 = new Student("小明", 90);
Student s2 = new Student("小美", 85);
s1.showInfo();
s2.showInfo();
}
}
Student s1 = new Student("小明", 90);
這行程式的意思是:「依照 Student 這個藍圖,建立一個小明的學生物件」
constructor(建構子)是什麼?
建構子是「幫你初始化物件」的特別方法。
它在你用 new 建立物件時自動被呼叫。
可以把它想成:「每當誕生一個新學生,constructor 會幫他填上名字與分數」
name = n;
score = s;
}
你也可以定義多個建構子,讓使用更靈活:
public Student(String n) {
name = n;
score = 0; // 預設值
}
用 ChatGPT 輔助學習
當你看不懂教材時,可以請 ChatGPT 幫你用生活例子講解。
Prompt 範例:
「請用生活化例子解釋 Java 的 class、object、constructor,並寫出一個完整的可執行範例。」
進階 Prompt:
「幫我改進這個 Java 類別,增加方法 calculateGrade(),根據分數回傳等級 A~F。」
ChatGPT 不只會產生程式碼,還能幫你解釋每一行用途、找出錯誤,甚至幫你轉成更清楚的架構!